<template>
  <div>
    <script :id=id type="text/plain"></script>
  </div>
</template>
<script>
  export default {
    name: 'UE',
    data () {
      return {
        editor: null
      }
    },
    props: {
      defaultMsg: {
        type: String
      },
      config: {
        type: Object
      },
      id: {
        type: String
      }
    },
    /*****************************************************************************
    // 本来想写个监听事件，然后等取到值再挂载html是一样的。
    watch:{
      defaultMsg:function(){
        const _this = this;
        this.editor = UE.getEditor(this.id, this.config); // 初始化UE
        this.editor.addListener("ready", function () {
          if(_this.defaultMsg){
            _this.editor.setContent(_this.defaultMsg); // 确保UE加载完成后，放入内容。
          }else{
            _this.editor.setContent('没有获取到值'); // 确保UE加载完成后，放入内容。
          }
        });
        console.log("上传接口已配置好");
      }
    },//**************************************************************************/
    // 加载完hwattml之后请求的钩子函数
    mounted() {
      const _this = this;
      this.editor = UE.getEditor(this.id, this.config); // 初始化UE
      this.editor.addListener("ready", function () {
        if(_this.defaultMsg){
          _this.editor.setContent(_this.defaultMsg); // 确保UE加载完成后，放入内容。
        }else{
          // _this.editor.setContent('没有获取到值'); // 确保UE加载完成后，放入内容。
        }
      });
      console.log("上传接口已配置好");
    },
    // 方法函数
    methods: {
      getUEContent() { // 获取内容方法
        return this.editor.getContent()
      },
      getUEContentTxt() { // 获取纯文本内容方法
        return this.editor.getContentTxt()
      }
    },
    // 销毁
    destroyed() {
      this.editor.destroy();
      this.editor = null;
    }
  }
</script>
